{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "# Topic Modeling: Latent Semantic Analysis/Indexing"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Latent Semantic Analysis set out to improve the results of queries that omitted relevant documents containing synonyms of query terms. Its aimed to model the relationships between documents and terms to be able to predict that a term should be associated with a document, even though, because of variability in word use, no such association was observed.\n",
    "\n",
    "LSI uses linear algebra to find a given number k of latent topics by decomposing the DTM. More specifically, it uses the Singular Value Decomposition (SVD) to find the best lower-rank DTM approximation using k singular values & vectors. In other words, LSI is an application of the unsupervised learning techniques of dimensionality reduction we encountered in chapter 12 (with some additional detail). The authors experimented with hierarchical clustering but found it too restrictive to explicitly model the document-topic and topic-term relationships or capture associations of documents or terms with several topics."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "## Imports & Settings"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-20T19:15:28.333837Z",
     "start_time": "2020-06-20T19:15:28.329203Z"
    }
   },
   "outputs": [],
   "source": [
    "import warnings\n",
    "warnings.filterwarnings('ignore')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-20T19:15:28.949208Z",
     "start_time": "2020-06-20T19:15:28.340025Z"
    },
    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "\n",
    "from pathlib import Path\n",
    "from random import randint\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "# sklearn for feature extraction & modeling\n",
    "from sklearn.feature_extraction.text import TfidfVectorizer\n",
    "from sklearn.decomposition import TruncatedSVD, PCA\n",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "# Visualization\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-20T19:15:28.954771Z",
     "start_time": "2020-06-20T19:15:28.952193Z"
    }
   },
   "outputs": [],
   "source": [
    "sns.set_style('white')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "skip"
    }
   },
   "source": [
    "## Load BBC data"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We will illustrate the application of LSI using the BBC articles data that we introduced in the last chapter because they are both small to permit quick training and allow us to compare topic assignments to category labels."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-20T19:15:28.968647Z",
     "start_time": "2020-06-20T19:15:28.957333Z"
    }
   },
   "outputs": [],
   "source": [
    "# change to your data path if necessary\n",
    "DATA_DIR = Path('../data')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-20T19:15:29.047992Z",
     "start_time": "2020-06-20T19:15:28.970243Z"
    },
    "slideshow": {
     "slide_type": "skip"
    }
   },
   "outputs": [],
   "source": [
    "path = DATA_DIR / 'bbc'\n",
    "files = sorted(list(path.glob('**/*.txt')))\n",
    "doc_list = []\n",
    "for i, file in enumerate(files):\n",
    "    with open(str(file), encoding='latin1') as f:\n",
    "        topic = file.parts[-2]\n",
    "        lines = f.readlines()\n",
    "        heading = lines[0].strip()\n",
    "        body = ' '.join([l.strip() for l in lines[1:]])\n",
    "        doc_list.append([topic.capitalize(), heading, body])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "skip"
    }
   },
   "source": [
    "### Convert to DataFrame"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-20T19:15:29.059387Z",
     "start_time": "2020-06-20T19:15:29.049509Z"
    },
    "slideshow": {
     "slide_type": "skip"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 2225 entries, 0 to 2224\n",
      "Data columns (total 3 columns):\n",
      " #   Column    Non-Null Count  Dtype \n",
      "---  ------    --------------  ----- \n",
      " 0   Category  2225 non-null   object\n",
      " 1   Heading   2225 non-null   object\n",
      " 2   Article   2225 non-null   object\n",
      "dtypes: object(3)\n",
      "memory usage: 52.3+ KB\n"
     ]
    }
   ],
   "source": [
    "docs = pd.DataFrame(doc_list, columns=['Category', 'Heading', 'Article'])\n",
    "docs.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "## Create Train & Test Sets"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We begin by loading the documents and creating a train and (stratified) test set with 50 articles. Then, we vectorize the data using the TfidfVectorizer to obtain weighted DTM counts and filter out words that appear in less than 1% or more than 25% of the documents as well as generic stopwords to obtain a vocabulary of around 2,900 words:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-20T19:15:29.092627Z",
     "start_time": "2020-06-20T19:15:29.061273Z"
    },
    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "outputs": [],
   "source": [
    "train_docs, test_docs = train_test_split(docs,\n",
    "                                         stratify=docs.Category,\n",
    "                                         test_size=50,\n",
    "                                         random_state=42)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-20T19:15:29.113377Z",
     "start_time": "2020-06-20T19:15:29.094990Z"
    },
    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((2175, 3), (50, 3))"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_docs.shape, test_docs.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-20T19:15:29.118968Z",
     "start_time": "2020-06-20T19:15:29.114694Z"
    },
    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Sport            12\n",
       "Business         11\n",
       "Politics          9\n",
       "Entertainment     9\n",
       "Tech              9\n",
       "Name: Category, dtype: int64"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.Series(test_docs.Category).value_counts()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### Vectorize train & test sets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-20T19:15:29.641705Z",
     "start_time": "2020-06-20T19:15:29.119815Z"
    },
    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<2175x2917 sparse matrix of type '<class 'numpy.float64'>'\n",
       "\twith 210043 stored elements in Compressed Sparse Row format>"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "vectorizer = TfidfVectorizer(max_df=.25,\n",
    "                             min_df=.01,\n",
    "                             stop_words='english',\n",
    "                             binary=False)\n",
    "train_dtm = vectorizer.fit_transform(train_docs.Article)\n",
    "train_dtm"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-20T19:15:29.656710Z",
     "start_time": "2020-06-20T19:15:29.642673Z"
    },
    "scrolled": true,
    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<50x2917 sparse matrix of type '<class 'numpy.float64'>'\n",
       "\twith 4758 stored elements in Compressed Sparse Row format>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_dtm = vectorizer.transform(test_docs.Article)\n",
    "test_dtm"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Get token count"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-20T19:15:29.673803Z",
     "start_time": "2020-06-20T19:15:29.657874Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "film          41.256270\n",
       "government    38.808175\n",
       "game          36.319726\n",
       "best          36.093477\n",
       "uk            36.082515\n",
       "labour        32.496474\n",
       "music         30.706548\n",
       "000           30.276350\n",
       "company       29.549555\n",
       "number        29.153795\n",
       "dtype: float64"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_token_count = train_dtm.sum(0).A.squeeze()\n",
    "tokens = vectorizer.get_feature_names()\n",
    "word_count = pd.Series(train_token_count,\n",
    "                       index=tokens).sort_values(ascending=False)\n",
    "word_count.head(10)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "## Latent Semantic Analysis"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We use sklearn’s TruncatedSVD class that only computes the k largest singular values to reduce the dimensionality of the document-term matrix. The deterministic arpack algorithm delivers an exact solution but the default ‘randomized’ implementation is more efficient for large matrices. \n",
    "\n",
    "We compute five topics to match the five categories, which explain only 5.4% of the total DTM variance so higher values would be reasonable."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-20T19:15:29.678140Z",
     "start_time": "2020-06-20T19:15:29.674969Z"
    }
   },
   "outputs": [],
   "source": [
    "n_components = 5\n",
    "topic_labels = ['Topic {}'.format(i) for i in range(1, n_components + 1)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-20T19:15:29.810584Z",
     "start_time": "2020-06-20T19:15:29.679592Z"
    },
    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "TruncatedSVD(n_components=5, random_state=42)"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "svd = TruncatedSVD(n_components=n_components, n_iter=5, random_state=42)\n",
    "svd.fit(train_dtm)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-20T19:15:29.833627Z",
     "start_time": "2020-06-20T19:15:29.812908Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([8.90935604, 5.71762755, 5.38197939, 5.04420678, 4.71440144])"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "svd.singular_values_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-20T19:15:29.845787Z",
     "start_time": "2020-06-20T19:15:29.836859Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.05382357286057269"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "svd.explained_variance_ratio_.sum()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### Explore Topics "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "LSI identifies a new orthogonal basis for the document-term matrix that reduces the rank to the number of desired topics. \n",
    "\n",
    "The `.transform()` method of the trained svd object projects the documents into the new topic space that is the result of reducing the dimensionality of the document vectors and corresponds to the UTΣT transformation explained in the book."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-20T19:15:29.857799Z",
     "start_time": "2020-06-20T19:15:29.851905Z"
    }
   },
   "outputs": [],
   "source": [
    "train_doc_topics = svd.transform(train_dtm)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-20T19:15:29.871638Z",
     "start_time": "2020-06-20T19:15:29.858812Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(2175, 5)"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_doc_topics.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Topic Weights for sample article"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can sample an article to view its location in the topic space. We draw a ‘Politics’ article that is most (positively) associated with topics 1 and 2 (and 3):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-20T19:15:29.891545Z",
     "start_time": "2020-06-20T19:15:29.872642Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Category                        Entertainment\n",
       "Heading     Patti Smith to host arts festival\n",
       "Topic 1                              0.135279\n",
       "Topic 2                            -0.0747157\n",
       "Topic 3                            0.00821315\n",
       "Topic 4                              0.144142\n",
       "Topic 5                             -0.044977\n",
       "dtype: object"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "i = randint(0, len(train_docs))\n",
    "(train_docs.iloc[i, :2].append(\n",
    "    pd.Series(train_doc_topics[i], index=topic_labels)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Average topic weight per category"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-20T19:15:30.168701Z",
     "start_time": "2020-06-20T19:15:29.892642Z"
    },
    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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ferVq5ckyd/fXzabTYWFhVq3bp3eeust2e12eXp6SpKCgoIcH1A7derENcwGcqvzdf78+Y7zZ/DgwUpLS2twfydOnND48eMlSY899pikG6Gf1zP82KlTp+Tn56clS5ZIko4cOaK4uDh17NjREWZCQ0O1d+9e3X///Ro0aJAjmP/TP/2T4zu2t3qNBBqqsLBQhw4d0ldffSXpxvtvWVmZ2rZtq8DAQEl1v5/96KOPSpI6duwoq9V69wfcirFoQQvVsWNHSVLbtm1VWloqSfr6668lSceOHVNFRYXWr1+vlJSUmy75uJWePXuqV69eeuedd2SxWDR27Fj16dNHmZmZmj59uuPLlv/93/+tnTt36re//a0sFot69+6tbdu2NdNRwpVMJpNqa2vVs2dPhYWFyWKxaPPmzRo9erS6du3q2EeS3NzcVFtbK0n685//rH/5l3/RsmXLFBYW5gjiP+67Idt+qGfPnpozZ44sFosWLVqkX/3qVz9Z98PxwFh+9rOfqaCgQJL0t7/9TT169Ljlfrc6B8xms44cOeKoXbZsGa9nuKVjx445Ls2VbgQXf39/ubu7OxYvOHz4sHr16iWz2ey4nK2qqkp///vfHX+M/OHr061eC4Hb6dmzp5566ilZLBZt2LBBTz75pDp16qQrV67o0qVLkqTFixc7AlF976P4aczwtCDfX97h5uamiooKJSQkKDAwUElJSXrggQf0s5/9TJLUo0cPrVq1Sh988IE8PT0btMLHQw89pMcee0wxMTGqrKxUv379HH/tnDx5stq3by9fX1/94he/0OnTp5WQkKD77rtPnp6eSkpKau5DRxP58SVtkn7yr0CDBg1SXFyc3nnnHf31r3/VM888o2vXrmnkyJE3XfITGBioqqoqLVu2TE8++aRef/11rVu3Tg888IC+++67Jhn7yy+/7PgAYrVaNX/+/J/cNygoSIWFhdq0aZNj1hLGsHjxYr322muy2+1yd3dXcnLyLffr06eP1qxZo0ceecSxbdq0aZo3b54+/PBDSVJycrIuXrzI6xlu8stf/lJFRUWaMGGC7rvvPtntdv3xj3/U5s2btWPHDm3atElt2rTR0qVLFRAQoL/+9a+KiopSVVWVnnzyyTrn3ffMZrPmzJmjN954wwVHhNYoOjpaCxYs0MSJE1VeXq5nnnlGbm5uevXVV/X73/9ebm5uevjhh9W3b19XD7XVM9n5kwQAAECdhYIAGAeXtAEAAAAwLGZ4AAAAABgWMzwAAAAADIvAAwAAAMCwCDwAAAAADItlqQEAze748eNatmyZrl+/rmvXrumJJ57Q9OnTb3lfiXPnzqmgoEAREREuGCkAwGiY4QEANKsrV65o1qxZmjdvniwWi7Zt26bCwkJlZGTccv8vvvhChw8fvsujBAAYFTM8AIBmtWfPHoWFhalHjx6SJHd3d6WmpsrT01Pz58/Xt99+q++++07Dhw/X9OnTtX79elmtVg0YMEBdu3bV4sWLJUnt27dXcnKy/Pz8tGjRIuXl5aljx446e/as1qxZI0maP3++qqurZTKZtGDBAj300EMKDw9Xz549FRwcrH379ikrK0vt27fXli1bdO3aNf3ud79z1a8GAHAXEHgAAM3qH//4h7p161Znm6+vr86cOaP+/ftrwoQJstlsGj58uF566SXFxcWpuLhYI0aMUGRkpJKTk9WrVy9lZWXprbfeUt++fXXp0iVt375dFy9e1C9/+UtJ0tKlSxUbG6uRI0cqPz9f8+bNU3Z2tr755htlZ2crICBAbdu21a5du/Tss8/qww8/1MqVK13xKwEA3EUEHgBAs+rSpYu+/vrrOttKSkr07bff6siRI/riiy/k5+enysrKm2qLioq0aNEiSVJVVZWCg4NVXFys/v37S5I6dOignj17OvYdPHiwJCkkJETffvutJCkgIEABAQGSpPHjx2vmzJkaPHiwOnbsqI4dOzbPQQMAWgy+wwMAaFbh4eH67LPPdPr0aUk3gktKSory8/Pl7++vtLQ0vfDCC7JarbLb7XJzc1Ntba0kKTg4WKmpqbJYLJo7d66eeOIJ9e7dW7m5uZKky5cv6+TJk5Iks9msnJwcSVJ+fr4jzLi5/f+3ui5dusjf319r167V+PHj79avAADgQia73W539SAAAMaWl5enpUuXym63q6KiQuHh4XryySc1a9Ys+fr6qk2bNvrmm2+0efNmlZWVaebMmZoxY4a6d++u1NRU1dTUSJJef/119ejRQ0lJSY5Q89VXXykrK0tVVVVauHChKisrVV1drQULFqhv374aOnSoDhw44BjLX/7yFy1evFiffvqp3N3dXfUrAQDcJQQeAECrUlRUpIKCAj311FP67rvv9Otf/1qffvqpvLy8GlT/8ccf6/jx4/rDH/7QzCMFALQEBB4AQKty7do1zZ49W2VlZaqpqdHEiRP129/+tkG1//7v/66cnBytXr1a7du3b+aRAgBaAgIPAAAAAMNi0QIAAAAAhkXgAQAAAGBYBB4AAAAAhkXgAQAAAGBYBB4AAAAAhkXgAQAAAGBY/w83D12QWK/0WgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 1008x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_result = pd.DataFrame(data=train_doc_topics,\n",
    "                            columns=topic_labels,\n",
    "                            index=train_docs.Category)\n",
    "train_result.groupby(level='Category').mean().plot.bar(figsize=(14, 5), rot=0);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Topics weights of most frequent words"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-20T19:15:30.185249Z",
     "start_time": "2020-06-20T19:15:30.169878Z"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Topic 1</th>\n",
       "      <th>Topic 2</th>\n",
       "      <th>Topic 3</th>\n",
       "      <th>Topic 4</th>\n",
       "      <th>Topic 5</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>film</th>\n",
       "      <td>0.096117</td>\n",
       "      <td>-0.157755</td>\n",
       "      <td>-0.037131</td>\n",
       "      <td>0.456760</td>\n",
       "      <td>-0.108419</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>government</th>\n",
       "      <td>0.105821</td>\n",
       "      <td>0.158542</td>\n",
       "      <td>0.050579</td>\n",
       "      <td>0.000476</td>\n",
       "      <td>-0.032035</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>game</th>\n",
       "      <td>0.092472</td>\n",
       "      <td>-0.165604</td>\n",
       "      <td>0.074222</td>\n",
       "      <td>-0.112915</td>\n",
       "      <td>0.056594</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>best</th>\n",
       "      <td>0.088036</td>\n",
       "      <td>-0.148498</td>\n",
       "      <td>0.019054</td>\n",
       "      <td>0.264735</td>\n",
       "      <td>-0.091923</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>uk</th>\n",
       "      <td>0.092431</td>\n",
       "      <td>0.030233</td>\n",
       "      <td>-0.055868</td>\n",
       "      <td>0.041345</td>\n",
       "      <td>0.012776</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>labour</th>\n",
       "      <td>0.100164</td>\n",
       "      <td>0.237937</td>\n",
       "      <td>0.227080</td>\n",
       "      <td>0.071624</td>\n",
       "      <td>0.054642</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>music</th>\n",
       "      <td>0.078805</td>\n",
       "      <td>-0.050253</td>\n",
       "      <td>-0.114264</td>\n",
       "      <td>0.080930</td>\n",
       "      <td>0.140046</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000</th>\n",
       "      <td>0.073360</td>\n",
       "      <td>0.029985</td>\n",
       "      <td>-0.044699</td>\n",
       "      <td>0.003032</td>\n",
       "      <td>-0.013678</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>company</th>\n",
       "      <td>0.067638</td>\n",
       "      <td>0.024084</td>\n",
       "      <td>-0.102071</td>\n",
       "      <td>-0.028465</td>\n",
       "      <td>-0.053378</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>number</th>\n",
       "      <td>0.070099</td>\n",
       "      <td>-0.039725</td>\n",
       "      <td>-0.019470</td>\n",
       "      <td>0.030363</td>\n",
       "      <td>0.003596</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             Topic 1   Topic 2   Topic 3   Topic 4   Topic 5\n",
       "film        0.096117 -0.157755 -0.037131  0.456760 -0.108419\n",
       "government  0.105821  0.158542  0.050579  0.000476 -0.032035\n",
       "game        0.092472 -0.165604  0.074222 -0.112915  0.056594\n",
       "best        0.088036 -0.148498  0.019054  0.264735 -0.091923\n",
       "uk          0.092431  0.030233 -0.055868  0.041345  0.012776\n",
       "labour      0.100164  0.237937  0.227080  0.071624  0.054642\n",
       "music       0.078805 -0.050253 -0.114264  0.080930  0.140046\n",
       "000         0.073360  0.029985 -0.044699  0.003032 -0.013678\n",
       "company     0.067638  0.024084 -0.102071 -0.028465 -0.053378\n",
       "number      0.070099 -0.039725 -0.019470  0.030363  0.003596"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "topics = pd.DataFrame(svd.components_.T, index=tokens, columns=topic_labels)\n",
    "topics.loc[word_count.head(10).index]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Most important words by topic"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can also display the words that are most closely associated with each topic (in absolute terms). The topics appear to capture some semantic information but are not clearly differentiated"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-20T19:15:30.627844Z",
     "start_time": "2020-06-20T19:15:30.186262Z"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize=(12, 4))\n",
    "top_words, top_vals = pd.DataFrame(), pd.DataFrame()\n",
    "for topic, words_ in topics.items():\n",
    "    top10 = words_.abs().nlargest(10).index\n",
    "    vals = words_.loc[top10].values\n",
    "    top_vals[topic] = vals\n",
    "    top_words[topic] = top10.tolist()\n",
    "sns.heatmap(pd.DataFrame(top_vals),\n",
    "            annot=top_words,\n",
    "            fmt='',\n",
    "            center=0,\n",
    "            cmap=sns.diverging_palette(0, 255, sep=1, n=256),\n",
    "            ax=ax)\n",
    "ax.set_title('Top Words per Topic')\n",
    "sns.despine()\n",
    "fig.tight_layout()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Topics weights for test set"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The topic assignments for this sample align with the average topic weights for each category illustrated below (Politics is the leftmost). They illustrate how LSI expresses the k topics as directions in a k-dimensional space (below you find a projection of the average topic assignments per category into two-dimensional space). \n",
    "\n",
    "Each category is clearly defined, and the test assignments match with train assignments. However, the weights are both positive and negative, making it more difficult to interpret the topics."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-20T19:15:30.632057Z",
     "start_time": "2020-06-20T19:15:30.629046Z"
    }
   },
   "outputs": [],
   "source": [
    "test_eval = pd.DataFrame(data=svd.transform(test_dtm),\n",
    "                         columns=topic_labels,\n",
    "                         index=test_docs.Category)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-20T19:15:32.234422Z",
     "start_time": "2020-06-20T19:15:30.632885Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABT0AAAK8CAYAAAAtRhv/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzdeZzXdb0v8BfbLMAgIBPmilviyiLmVdQSPeeU5i0NSvGIGybXezl69JimuWu4l6LZ8Via5BZuaeK9pVkeLRcYu5WSKXJUUHFAkEFgZmDm/uF1agIUmOX348fz+Xjw+Mzvu3x+7+/MfGfgxefz+XZpbm5uDgAAAABAieha6AIAAAAAANqT0BMAAAAAKClCTwAAAACgpAg9AQAAAICSIvQEAAAAAEqK0BMAAAAAKCndC10AAMDG4Jhjjslzzz3X8rpbt27p3bt39thjj/zP//k/M2zYsHXq7+23387zzz+f//7f/3t7l/qxdtppp4/dv8UWW+RXv/rVevU9efLk3H333Xn66afX63wAAPhIl+bm5uZCFwEAUOqOOeaYVFVV5aKLLkqSNDY2Zt68efnxj3+cxx57LDfffHP23XffdepvwIAB+e53v9tRJa9WbW1ty8fPPvtszjjjjEydOjWf/vSnk3wY5vbv33+9+v7ggw9SX1+/3ucDAMBHjPQEAOgk5eXlqa6ubnm9+eabZ+jQoRk/fnzOP//8/O///b/TvXtx//Xsb+vv06dPkqR///6ttq+vXr16pVevXm3uBwAArOkJAFBAXbp0yfHHH58333wzv//975MkDQ0Nufbaa/MP//AP2W233TJ8+PCceOKJ+a//+q8kf50qP23atJbp5p90zuocc8wx2WmnnVb75+yzz17va7r//vtzwAEH5Kqrrspee+2VI488Ms3Nzampqcnxxx+fESNGZLfddstBBx2UW265peW8yZMnZ+TIkS2vd9ppp9xzzz0ZP358hgwZkgMPPDCTJk3KihUr1rs2AAA2DsU9lAAAYCOw8847J0n+/Oc/Z8SIEbnmmmvyyCOP5IorrsigQYPyxhtv5Lzzzsull16aW265JZMnT86ECRPSv3//lunyn3TO6kyePDmNjY2r3VdRUdGma5o3b15mzZqV++67L0uXLk1tbW1OPPHEHH744Tn//POTJPfee29LMDpkyJDV9nPFFVfk3HPPzbe//e08/vjjufLKK7PzzjvnK1/5SpvqAwCgtAk9AQAK7KNp4nV1dUmS3XbbLZ///Oezzz77JPnw4UCHHnpo7r///iRJ375906NHj1bT5T/pnNXp27dvh11TkpxyyinZeuutkyRvvvlm/sf/+B854YQTWqbwn3rqqbnlllvy8ssvrzH0POyww/LVr341SXLiiSfm3nvvTU1NjdATAICPJfQEACiwj8LOj8LPww47LM8991yuvfbavP7665k9e3ZmzZr1sSHl+pwzfvz4zJgxY439XXzxxW24qmSbbbZp+XirrbbK1772tdx99935y1/+kjfeeCMvv/xykmTlypVr7GO77bZr9bqqqmqNo1MBAOAjQk8AgAJ78cUXkyS77LJLkuSiiy7KQw89lMMPPzz77bdfTjzxxDz22GO577771tjH+pxz2WWXZfny5avd17t37zZc0Yf+dor8rFmzcvTRR2eHHXbI/vvvn8997nPZbbfdcsABB3xsH2VlZatsa25ubnNtAACUNqEnAECBTZkyJYMGDcrQoUOzcOHC3HnnnZk0aVKOOOKIlmNuvvnmNYZ963NOkgwcOLD9LuIT3HXXXenVq1emTJmSLl26JPlwDdNEiAkAQPsTegIAdJL6+vrU1tYmSVasWJG33nort912W37729/mRz/6Ubp06ZKqqqpUVVXlV7/6VYYOHZrm5uY88MAD+eUvf5mqqqqWvnr16pW5c+dm7ty5GThw4FqdU0if/vSnU1tbm8cffzy77LJLXnnllVx++eVJPnzyPAAAtKeuhS4AAGBj8fjjj2e//fbLfvvtl3/4h3/ImWeemYqKikydOjWf/exnkyTdu3fP5MmTM2fOnHzlK1/Jsccem9mzZ+fiiy9OXV1dXnvttSTJP//zP2fu3Lk55JBDsmDBgrU6p5COOeaYfOUrX8m3v/3tHHLIIbnqqqvy9a9/PXvttVf+8Ic/FLo8AABKTJdm84kAAAAAgBJipCcAAAAAUFKEngAAAABASRF6AgAAAAAlRegJAAAAAJSU7oUuoNAWLFiSpibPcgIAAABgVdXVVYUugfVgpCcAAAAAUFKKKvRsbGzMxRdfnL333jt77713rr766jQ1Na322BdffDFHH310hg4dmlGjRuU//uM/OrlaAAAAAKAYFdX09muvvTZPP/10br755ixZsiRnnXVW+vTpk2984xutjlu8eHFOPPHEfOlLX8qkSZPy6quv5t/+7d/St2/fjBkzpkDVAwAAAADFoGhGetbX1+euu+7K2WefnSFDhmTkyJE544wz8uMf/3iV0Z5vvfVW9ttvv5xzzjnZeuutM2rUqOy77755/vnnC1Q9AAAAAFAsiib0nDlzZpYtW5YRI0a0bBsxYkTmz5+fN954o9WxgwcPztVXX52uXbumubk506dPz/PPP5999923s8sGAAAAAIpM0UxvnzdvXnr27Jmqqr8+Eau6ujpJ8s4772TQoEGrPW+vvfZKXV1dDjzwwHzpS1/qjFIBAAAAgCJWNKHnsmXLUlZW1mrbR68bGhpWe05TU1NuvfXWzJs3LxdffHEuuuiiXHLJJev0vptu2nv9CgYAAAAAilLRhJ4VFRWrhJsfva6srFztOV27ds3uu++e3XffPQ0NDfm3f/u3nHXWWende+2DzAULlqSpqXn9CwcAAACgZFVXV33yQRSdolnTc7PNNsvSpUvzwQcftGyrra1NkgwcOLDVsW+88UZ+85vftNr2mc98JitXrsyiRYs6vlgAAAAAoGgVTeg5ePDgVFZWZsaMGS3bpk+fngEDBmTrrbdudezvf//7nHbaaVm6dGnLtj/+8Y/p1atXNt98806rGQAAAAAoPkUTelZUVGT06NG59NJLU1NTk9/97ne55pprcuyxxyZJFi1alLq6uiTJQQcdlH79+uXss8/Oa6+9lscffzxXXXVVTjnllHTtWjSXBAAAAAAUQJfm5uaiWdCyvr4+l156aR555JGUl5dn9OjROf3009OlS5ccc8wx2WKLLXL55ZcnSWbPnt0SkFZVVWXs2LE5+eST06VLl3V6T2t6AgAAALAm1vTcMBVV6FkIQk8AAAAA1kTouWEyFxwAAAAAKClCTwAAAACgpAg9AQAAAICSIvQEAAAAAEqK0BMAAAAAKClCTwAAAACgpAg9AQAAAICSIvQEAAAAAEqK0BMAAAAAKClCTwAAAACgpAg9AQAAAICSIvQEAAAAAEqK0BMAAAAAKClCTwAAAACgpAg9AQAAAICSIvQEAAAAAEqK0BMAAAAAKClCTwAAAACgpAg9AQAAAICSIvQEAAAAAEqK0BMAAAAAKClCTwAAAACgpAg9AQAAAICSIvQEAAAAAEqK0BMAAAAAKClCTwAAAACgpAg9AQAAAICSIvQEAAAAAEqK0BMAAAAAKClCTwAAAACgpAg9AQAAAICSIvQEAAAAAEqK0BMAAAAAKClCTwAAAACgpAg9AQAAAICSIvQEAAAAAEqK0BMAAAAAKClCTwAAAACgpAg9AQAAAICSIvQEAAAAAEqK0BMAAAD4WDU103PRReempmZ6oUsBWCvdC10AAAAAUNymTr0zs2e/luXLl2X48BGFLgfgExnpCQAAAHysZcuWt2oBip3QEwAAAAAoKaa3AwAAQImq6lORivIebe6nW7cuLW11dVWb+lpe35i6xUaMAh2rqELPxsbGTJo0KY888kiSZMyYMTn99NPTteuqA1JfffXVTJo0Kf/3//7f9OrVK1/84hdz2mmnpaKiorPLBgAAgKJUUd4jY795R5v7mT+/Lknyzvy6Nvd355VHpy5CT6BjFVXoee211+bpp5/OzTffnCVLluSss85Knz598o1vfKPVcUuWLMlJJ52UvfbaK/fcc09qa2tz7rnnprGxMeedd16BqgcAAAAAikHRrOlZX1+fu+66K2effXaGDBmSkSNH5owzzsiPf/zjNDU1tTr2t7/9berq6nLppZdm++23z3/7b/8tp556ah566KECVQ8AAAClq0u3Hq1agGJXNKHnzJkzs2zZsowYMaJl24gRIzJ//vy88cYbrY4dMmRIbrzxxpSVlbVs69KlSxobG1cJSAEAAIC26b358PTovVl6bz680KUArJWimd4+b9689OzZM1VVf10Qubq6OknyzjvvZNCgQS3bBw4cmIEDB7a8XrlyZaZMmZLhw4evdv1PAAAAYP2Vb7JVyjfZqtBlAKy1ogk9ly1b1mrkZpKW1w0NDR977iWXXJI///nP+elPf7rO77vppr3X+RwAAABg/bX1CfAAn6RoQs+KiopVws2PXldWVq72nJUrV+aiiy7Kfffdl+uuuy6DBw9e5/ddsGBJmpqa171gAAAAKHLFGi7W1tYVugRYa8V6H/HximYu+GabbZalS5fmgw8+aNlWW1ubJK2msn+ksbEx//qv/5oHHngg119/fQ4++OBOqxXgb9XUTM9FF52bmprphS4FAAAASBGFnoMHD05lZWVmzJjRsm369OkZMGBAtt5661WOP/fcc/Ob3/wmP/jBD3LQQQd1ZqkArUydemdmznwxU6feWehSAAAAgBRR6FlRUZHR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Qxa/78GwAJSmogk9Bw8enMrKysyYMSMHHHBAkmT69OkZMGBAtt566wJXBwAAsP7Ky8py3K2ntrmfeYtrW9q29nfb8dclEXoCUJra/PT2j0ZjtlVFRUVGjx6dSy+9NDU1Nfnd736Xa665Jscee2ySZNGiRamrM6QbAADYeHXp0bVVCwCs3lqN9Nx5553z9NNPp3///q22v/XWWzn00EPzwgsvtEsxZ555Zurr6zN+/PiUl5dn9OjROemkk5IkEydOzBZbbJHLL7+8Xd4LAABgQ7PJHgNTN3N+qnYeUOhSAKCorTH0fPjhh/PrX/86SdLc3Jzzzz8/5eXlrY6ZO3duy/qb7aG8vDyXXHJJLrnkklX2TZkyZbXnbLnllnn55ZfbrQYAAIBiVbllVSq39EANAPgkaww999prr0ydOjXNzR8+2Xz+/Pnp0aNHy/4uXbqkX79+mThxYsdXCQAAAACwltYYem622Wa5/fbbkyTHHHNMbrjhhmyyySadVhgAAAAAwPpYqzU91zS1HAAAAACg2KxV6PnGG2/k3HPPzZ/+9KcsX758lf0zZ85s98IAAAAAANbHWoWe559/ft56661MmDDBFHcAAAAAoKitVej5wgsv5Pbbb8+QIUM6uh4AAAAAgDbpujYHVVVVpaqqqqNrAQAAAABos7UKPUePHp0f/OAHaWpq6uh6AAAAAADaZI3T24888siWj1euXJk//vGP+c///M9sueWW6datW6tj77777o6rEAAAAABgHawx9Nx2221bvd5hhx06vBgAAAAAgLZaY+g5adKkzqwDAAAAAKBdrNXT2x988ME17isrK8unP/3pDBkyJF27rtUSoQAAG72amul5+OEHcthhh2f48BGFLgcAAErKWoWe3//+9zNnzpw0NTW1PMW9rq4uXbp0SXNzc5IPp7//8Ic/zMCBAzuuWgCAEjF16p2ZPfu1LF++TOgJAADtbK2GZh599NHZdttt8+CDD+b555/P888/n0ceeSQ777xzLrjggvz617/OZpttlquuuqqj6wUAKAnLli1v1QIAAO1nrUZ63nbbbbnyyiszePDglm3bb799vv3tb+f000/PUUcdldNOOy0nnXRShxUKAFAMmlY0prq6qs39dOvWpaVta38rGuqz8P2GNtcEAAClYq1Cz0WLFqV///6rbK+qqsrChQuTJP3798+yZcvatzoAgCLTtXuPzLhyfJv7qV84r6Vta397fvOWJEJPAAD4yFpNb99jjz0yefLkNDT89S/TDQ0N+f73v5/ddtstSfL0009nq6226pgqAQBKTHn3rq1aAACg/azVSM+zzz47xx57bEaNGpVdd901TU1NmTlzZhobG/OjH/0ozz77bM4///xcfPHFHV0vAEBJ+Mcd+uU3s9/P57bdpNClAABAyVmr0HPnnXfOo48+mrvuuisvvvhiysrKMnbs2IwdOzZ9+/bNrFmzctttt2Xvvffu6HoBAErCztU9s3N1z0KXAQAAJWmtQs8k2XTTTfO//tf/Wu2+7bffPttvv327FQUAAAAAsL7WGHqeccYZueiii9K7d++cccYZH9vJNddc0+6FAQAAAACsjzWGnu+++26amppaPgYAAAAA2BCsMfScMmXKaj8GAAAAAChmXdf2wPr6+jz44IO59tprs2jRojz//PN5//33O7I2AAAAAIB1tlYPMlqwYEGOPPLIvP3222lqasqYMWNyyy23ZObMmbn99tszaNCgDi4TAAAAAGDtrNVIz6uuuipbb711nnnmmZSXlydJJk2alG222SZXX311hxYIAAAAALAu1ir0/O1vf5vTTjstvXv3btnWv3//nH322Xn++ec7rDgAAAAAgHW1VqHn+++/nz59+qyyvaysLA0NDe1eFAAAAADA+lqr0HOPPfbIQw89tMr2W2+9Nbvttlu7FwUAAAAAsL7W6kFGp59+eo477ri88MILaWxszHXXXZdXX301s2bNyq233trRNQIAAABQQmpqpufhhx/IYYcdnuHDRxS6HErQGkd6/vSnP81bb72VJBk2bFh++tOfZtNNN82gQYPy0ksvZdCgQbnjjjsyYoRvTAAAAADW3tSpd2bmzBczdeqdhS6FErXGkZ4XXHBBkmTQoEHZb7/9csABB+TSSy9teXo7AAAAAMWvGEdVLlu2vFUL7W2Noeezzz6b5557LtOnT89zzz2XO+64Iz169Miee+7ZEoLusMMOnVkrAAAAAOto6tQ7M3v2a1m+fFmbQ89N+lSmrHytVkv8WN26dWlpq6ur2txfQ/2KvL94WZv7oXSs8bu0T58+Ofjgg3PwwQcnSZYsWZLnn38+zz33XB599NFce+216d+/f/bff/9cdtllnVYwAAAAAGuvPUdVlpV3z3fOvbfN/by3YElL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PQEAAACgBO2///657777snTp0iTJlClTstdee7WsyfnQQw+lqakp77//fh599NGMGjWq1fn77LNPfv7zn6ehoSFNTU258MIL88gjj3T6dawP09sBAAAAoASNHj06b7/9dsaMGZOmpqZss802ufrqq1v2L1++PKNHj84HH3yQsWPHZp999smcOXNa9h955JGZO3dujjjiiDQ3N+ezn/1sjjnmmEJcyjrr0tzc3FzoIgppwYIlaWraqD8FAAAAAKxBdXVVoUvoEMccc0yOPvrofOELXyh0KR3C9HYAAAAAoKQY6WmkJwAAAABrUKojPUudkZ4AAAAAQEkRegIAAAAAJUXoCQAAAACUFKEnAAAAAFBShJ4AAAAAQEkRegIAAAAAJUXoCQAAAACUlKIKPX/5y1/mC1/4QoYMGZLjjjsub7755hqPra+vz5VXXpnPf/7z2XPPPXP88cfnlVde6cRqAQAAAKC1hsaVRf2eZ599dnbaaac1/pk8eXKbahk1alR+8pOftKmPBx98MEcccUSb+ujS3Nzc3KYe2slLL72UI488Muecc0723HPPXH/99Xnttdfy0EMPpVu3bqsc/53vfCePP/54Lr300gwcODA33XRTnnnmmTz66KPp3bv3Wr/vggVL0tRUFJ8CAAAAAIpMdXXVOp8z9pt3dEAla3bnlUev9bF1dXVZvnx5kuSFF17IxIkT89hjj6WioiJJ0rNnz/Tq1Wu9a3nvvfdSWVmZysrK9Tr/6aefzimnnJLtt98+999//3rXUTQjPadMmZLPf/7zOfLII7PjjjvmiiuuyFtvvZWnnnpqlWObmppy//335/TTT88+++yT7bbbLpdddlnq6uryzDPPFKB6AAAAACh+VVVVqa6uTnV1dTbZZJMkSf/+/Vu2tSXw/Kiv9Q08r7jiipx88snZeuut21RDUkSh5wsvvJARI0a0vO7Zs2d23XXX1NTUrHJsU1NTrrvuuowcObJlW9euH15KfX19xxcLAAAAACVo8eLFufDCC7Pffvtl6NChmTBhQubMmdOyf9SoUfnhD3+Yr371qxkyZEiOPvroVktO/u309qamptx444353Oc+l2HDhuX444/P7Nmz1/jeM2bMyO23355//Md/bPN1FE3oOW/evHzqU59qtW3AgAF55513Vjm2e/fuGTlyZPr27duy7Z577klDQ0OGDRvW4bUCAAAAQCmaOHFiampq8r3vfS933313GhoacvLJJ2fFihUtx9xwww352te+lvvuuy+bbrppxo8f3zJl/m/dcMMNmTJlSs4777w88MAD6du3byZMmJA1rbb505/+NMOHD2+X6+jeLr2shWeffTbjxo1b7b4JEyZk+fLlKSsra7W9rKwsDQ0Nn9j3c889lyuuuCLjx4/P5ptvvk51bbrp2q//CQAAAACl6uWXX84zzzyT+++/P7vuumuS5JprrsmBBx6Yxx9/PP/0T/+UJDnssMPy9a9/PUly2WWX5YADDsgTTzyRL37xiy19NTc356677sopp5ySgw8+OElywQUX5N///d9TV1eXPn36dOi1dFrouccee2TatGmr3devX7/cfvvtqwScDQ0Nn7gGwJNPPpl/+Zd/yUEHHZTTTjttnetauPADDzICAAAAYLU2pgFzs2bNSo8ePbLLLru0bOvXr1+23XbbzJo1q2Xbnnvu2fJxVVVVtt1227zyyiutQs+FCxfmvffey+67796yrW/fvjnrrLM6+Co+1GmhZ2VlZbbffvs17h84cGDmz5/falttbW322muvNZ4zbdq0fPOb38wXv/jFXH755S3req6Lfv3atjgrAAAAAJSCv5+F/ZGVK1emqamp5XX37t1X2f/3uVyPHj3av8B1UDRreg4bNiwzZsxoeb106dK89NJLa1yj86mnnsqZZ56Zww8/PFdccUW6devWWaUCAAAAQMnZfvvt09jYmBdffLFl23vvvZfXX3892223Xcu2l156qeXjxYsX5/XXX8/gwYNb9VVVVZVNN9201bFLlizJPvvsk7/85S8deBUf6rSRnp9k7NixOeqoo/KTn/wke++9dyZPnpwtttgi+++/f5Jk+fLlqaurS3V1dRoaGvKtb30rw4YNy8SJE7NgwYKWfnr37v2JU+IBAAAAgNa23XbbHHTQQTnnnHNywQUXpFevXrnyyitTXV2dAw88sOW4O++8M7vttlt23HHHfPe7381mm22WAw44YJX+jjvuuNx0003Zcssts/XWW+f666/PgAEDssMOO3T4tRRN6Ln77rvniiuuyLXXXpurr746w4YNy0033dQyNHbatGn51re+lZdffjkzZszIu+++m3fffbclFP3Ieeedl3/+538uxCUAAAAAsJFraFyZO688utPfs6xH+8yCnjRpUr7z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8QY1a9ZkxowZXL16lZ9//vk5RC8iIiIiIiIiIiLFRbFJeu7fv5+mTZsaP1tZWeHk5MQvv/yS79jc3FwWLFjAm2++adxmanr7Um7duvX0gxUREREREREREZFiy+x5B3BHeno6L7/8cp5tlStX5ty5c/mONTMzy5PwBFi9ejWZmZk4Ozs/1ThFRERERERERESkeHtmSc+4uDj69et3333Dhw/n5s2bWFhY5NluYWFBZmbmA8veu3cvgYGBDBkyhFdfffWh4qpUyeahjhcREREREREREZHi7ZklPRs0aMDmzZvvu69ChQqsWLEiX4IzMzOTMmXKFFrurl278PLyws3NjbFjxz50XJcvZ5Cba3jo80REREREREREpOTTgLm/pmeW9CxTpgy1atUqcH+VKlW4cOFCnm2///47zZo1K/CczZs3M3HiRDp27EhAQIBxXc+HUaGC9UOfIyIiIiIiIiIiIsVXsXmRkbOzM/Hx8cbP169f59ChQwWu0bl7924mTJhA165dCQwMpFSpUs8qVBERERERERERESnGTAwGQ7GY233gwAF69+6Nj48PLVq0ICQkhOTkZL777jtMTU25efMmV69exdbWlszMTNzc3KhevTpz587FxMTEWI6Njc0Dp8SLiIiIiIiIiIhIyVVskp4AmzZtYu7cuVy8eBFnZ2emTZtGtWrVAIiMjMTX15cjR46wZ88eBgwYcN8ypkyZgqen5zOMWkRERERERERERIqTYpX0FBEREREREREREXlcxWZNTxEREREREREREZEnQUlPERERERERERERKVGU9BQREREREREREZESRUlPERERERERERERKVGU9BQREREREREREZESRUlPERERERERERERKVGU9JQHcnV1xdHR8b5/S5YseeD5WVlZrFy58rFiSExM5Oeffy7SsXFxcTg6OpKRkfFYdT4te/fu5fDhw887DJHH4uPjU+C/C46OjoSEhDxSua6uroSFhT3haEX+2u69v5o0acLw4cNJTU19IuVHRkbSokWLJ1KWiBRNdnY2ixcv5h//+Af16tXDxcWFiRMncubMmadW56VLl9i4ceNTK1/kr+re/q6TkxNubm6EhISQlZX1wPN9fHzw8vIC8repd/f9ins/VaQkMjEYDIbnHYQUb66urvTs2ZNu3brl22dtbY2VlVWh50dFRREQEEBcXNxjxTBo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\n",
      "text/plain": [
       "<Figure size 1356.98x720 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.set(font_scale=1.3)\n",
    "result = pd.melt(train_result.assign(Data='Train').append(\n",
    "    test_eval.assign(Data='Test')).reset_index(),\n",
    "                 id_vars=['Data', 'Category'],\n",
    "                 var_name='Topic',\n",
    "                 value_name='Weight')\n",
    "\n",
    "g = sns.catplot(x='Category',\n",
    "                y='Weight',\n",
    "                hue='Topic',\n",
    "                row='Data',\n",
    "                kind='bar',\n",
    "                data=result,\n",
    "                aspect=3.5);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Categories in 2D"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The below plot shows the projections of the five topics into a 2D space."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-20T19:15:32.248607Z",
     "start_time": "2020-06-20T19:15:32.237232Z"
    }
   },
   "outputs": [],
   "source": [
    "pca = PCA(n_components=2)\n",
    "svd2d = pd.DataFrame(pca.fit_transform(train_result),\n",
    "                     columns=['PC1',\n",
    "                              'PC2']).assign(Category=train_docs.Category)\n",
    "categories_2d = svd2d.groupby('Category').mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-20T19:15:32.461925Z",
     "start_time": "2020-06-20T19:15:32.264146Z"
    },
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAAEQCAYAAACugzM1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO3deVxU9f7H8dcAsim4AGKi1k1D0mQRElNwzbR9uVriFi4pt9wQcUmvmUtBouaWhikWruVK4nrTVJRriXotFRWtFBcWFQVZZc7vD35MTeCAzsAw8Hk+Hjx0zvnOOZ8PM8x75pz5zqgURVEQQgghHsDM2AUIIYSo2iQohBBC6CRBIYQQQicJCiGEEDpJUAghhNBJgkIIIYROEhTV3KRJk2jZsqXOn6NHj+q9n27duhEREaHX9f9aU+vWrXnuuecYPXo0Fy9e1Bo7cOBAgoOD9S25TAcOHCAxMVFzuWXLlqxbt67C96uLvr9ngOvXrxMSEoKfnx/e3t7079+fY8eOadZv3rxZ67Zwc3PDw8ODV199lVWrVlFYWFjmPo4cOcKQIUPw8fGhTZs29OrVi3nz5pGVlaVX7cJIFFGt3b17V0lNTdX8tG/fXgkLC9NalpeXp/d+bt68qWRlZT3y9bt27arMmDFDU9OVK1eUo0ePKoMGDVK8vb2VxMREzdjbt28rd+/e1btmXZKTkxVXV1flwIEDmmWpqalKTk5Ohe63LPr+nnNycpQXX3xRCQgIUE6ePKlcvHhRmT59uvLMM88o586dUxRFUTZt2qS4uroqycnJSmpqqnLjxg0lKSlJiYqKUjw9PZVJkybp3Mfhw4eVVq1aKYsWLVLOnz+vXL58Wdm1a5fSpUsXpV+/fo9cuzAeC2MHlahYdnZ22NnZaS6bmZlha2uLk5OTQffToEEDvbdhY2OjVVeTJk3w8PCgd+/ezJgxgzVr1gBQr149vfdVFqWUeaiG/p09Cn1/z/Hx8Vy8eJEDBw7QqFEjAKZNm0ZcXBzbtm0jNDRUM9bR0RErKysAnJ2dad68OQ0aNCA0NJTXXnuN5557rtR9rF+/Hl9fX0aOHKlZ1rRpU6ytrRk+fDinTp3C3d1drz5E5ZJDT4Lr168zceJE/Pz8cHd3p1+/fvz888+a9YsWLeLtt99mxYoVdOjQgbZt2zJy5EhSUlI0Y/5+SCQxMZGhQ4fStm1bfH19CQkJ4ebNmw9dm5WVFQMGDODYsWNcu3YN0D70dPToUVq2bMnKlStp3749PXv2JDs7m/z8fObOnUvnzp3x9PTkzTffZMeOHVrbvnr1KqNHj+bZZ5/Fx8eHoKAg/vjjD5KTk+nevTsA7733HpMmTQJKHno6cOAAffv2xcvLi/bt2/Phhx+SkZGh9TuJjIwkODiYtm3b4ufnx6RJk8jOztaMiYmJ4dVXX6VNmzZ06NCBKVOmkJmZ+cDfx19/z5s3b6ZTp05s376dnj174uHhwVtvvcX+/fsfeP1WrVoRGRmpCQkAlUoFwJ07d3TcEkVeeeUVGjVqxPfff//AMWZmZly4cIHr169rLe/QoQOxsbG4uroC5btfpaSkEBoaSseOHWndurXmd/TX3+GDbsdiFy9eZMSIEXh5efHcc8/xwQcfcPny5TJ7FX+SoKjhsrKyCAgI4LfffmPhwoVs2rSJ5s2bM3jwYE6ePKkZd+bMGWJjY1m6dCkrV67k6tWrDBkyhIKCghLbvHbtGv369aN27dqsXbuWFStW8Ntvv2k9w3wYTz/9NADnzp174JidO3eydu1a5s6di62tLZMnT2bfvn188sknxMTE8M477/Dhhx+yfv16Td/9+/fn9u3bfPXVV6xbt4779+8zZMgQGjZsyHfffQfA3LlzmTJlSon97d27lxEjRuDr68umTZuYP38+J0+eJDAwkPv372vGLVq0iGeeeYbNmzcTEhLC9u3bWblyJQDnz59nwoQJ9OvXj127drFw4UIOHz7MnDlzyv27uXnzJlFRUXzyySds2LCBevXqERoa+sBzAc7OznTu3Flr2Y4dO7h8+TJdunQpc39mZma4urpqnbv5u8GDB3P37l2ef/55Bg0axOLFi4mPj0dRFFq0aIG1tbVmbFn3q6CgIG7cuMGXX37Jrl27mDBhAtu2bWP16tWA7tuxoKCAlJQU+vXrh5OTExs2bCAqKgobGxv69OmjFUhCNzn0VMPFxMSQnp7Ohg0bcHZ2BmDGjBmcPn2aL7/8kqVLlwJFh2IWLFhA06ZNAZgzZw4vv/wyhw4dolu3blrb3LBhA7a2tsyZM0dz6OKTTz5h+/bt5OTkYGNj81A12tvbA+h8pj148GCefPJJAP744w+2b9/OmjVr8PHxAaBZs2ZcuXKFyMhI+vbty44dO7h58yabNm3CwcEBgNmzZxMVFUVGRobmEI+9vb3WobtikZGR+Pv7a17ZPPnkk8ybN4/XX3+d/fv306NHDwB8fX0ZOnQoAE888QSxsbGcOHECgMuXL6MoCo0aNcLFxQUXFxeWLVv2UL+b+/fvM23aNDw8PAAYM2YMb7/9NhcuXMDLy6vM6//3v/9lypQp9OjRg+eff75c+7S3t9d6xv53Hh4ebNmyhVWrVnHgwAHNmyXq1avH+PHj6dOnj2asrvtVx44dee211+jevTvNmjUDig5hrV+/XvOkQdftePv2bdatW0fdunWZOXOm5pVTeHg4nTt35rvvvnvkJy81jQRFDXfu3DmaNGmiCQkoOhTh7e3NDz/8oFnWpEkTzR8zQIsWLbC3tycxMbFEUCQmJuLm5qYJCQA3Nzfc3NweqcbigCgOjNI88cQTmv+fOXMGgGHDhmkeHKDoQTU/P5/c3FwSExNp0qSJ5sEFip5tFx9mSk5O1lnTuXPnSjzIuLm5aX4nxUFRHF7F7OzsSE9PB8Df358OHToQFBSEk5MTHTt2pEuXLvTs2VPnvv/ur/uoU6cOQKmv9P5u27ZtTJ06leeee4558+aVe39ZWVmlhuffa5oxYwYAv//+O/Hx8axdu5apU6fSoEEDzaG9su5XAwYMYM+ePURHR3PlyhUuXLjA1atXeeyxxwDKvB3PnDlDcnIybdu21aovNzeXpKSkcvdc00lQiFIpikKtWrU0ly0sSt5V1Go15ubmJZbXqlWrXG+hLK/Tp08Dfx6CKs1fQ6n4RPSqVauoX79+ibGWlpZavRlSYWEhlpaWWvt6ECsrK6KiokhMTCQuLo74+HjGjx/P1q1b+fLLL8u9z9L2UdrJ+L9auHAhS5YsoXfv3nz88cel3r6lURSF06dPl3hyUOzWrVssWbKEvn378tRTTwFFIf7EE0/w1ltv0aNHD/bv368JCl33q+zsbAYNGsTdu3d58cUXeeWVV2jdurXWocCybke1Wk3btm2ZPXt2iXW2trbl6lnIOYoar2XLliQnJ3Pjxg3NMkVROHbsmOYPHeDKlSvcunVLc/ncuXNkZWXRpk2bEtts3rw5iYmJ5Ofna5adPn2a9u3bP/RJxIKCAtauXUuHDh20XvXoUnyyNCUlhccff1zzs2/fPlauXImZmRktWrQgOTlZq6ebN2/i6+vLzz//rPVKpDQtW7bUOuEPRc9e7927R4sWLcpV508//cSnn36Km5sbw4YNY8WKFUyfPp0ff/zxkU78l1dERARLlixh9OjRzJ49u9whAUXngtLS0nj99ddLXW9ra8vmzZvZsGFDiXVWVlbY2Njg6OioWabrfhUXF8cvv/zCypUrCQ4O5pVXXsHFxUVzyA4o83Z0dXXlt99+o2HDhpr7wWOPPcacOXNK3H7iwSQoarjXXnsNR0dHxowZw/Hjx0lKSmLatGmcP3+ewYMHa8bl5eURGhpKYmIiCQkJhIaG4unpSfv27Utsc8CAAeTk5PDhhx9y/vx5Tp06xb///W9atGihOdZcmpycHNLS0khLS+PatWuaSVvXr19n6tSp5e6pRYsWdOvWjZkzZ7J7926uXLnChg0bmDt3ruaQxauvvoqTkxPjx4/n9OnTnDt3jgkTJlCvXj3c3d2pXbs2UHTC+fbt2yX2MXz4cA4ePMj8+fO5dOmS5tVAy5Yt8ff3L1edderUITo6mnnz5vHHH39w7tw5du/ezRNPPFHqKyFDOHz4MMuXL2fAgAG8/fbbmt93WlpaiXNA6enppKWlkZqaSlJSEpGRkUyZMoV33nkHb2/vUrdvbW1NcHAw0dHRfPTRR5w8eZKrV69y9OhRQkJCNG+eKKbrflX8zqyYmBiSk5P53//+x+jRo0lLS9M8CSnrduzXrx+5ubmMHTuWX3/9laSkJMaPH8/hw4cf+VBoTSSHnmq4OnXqsGbNGsLDwxk+fDj379+nTZs2rFq1SuvBwMHBgXbt2vHuu++iVqt5/vnnmTRpEmZmJZ9rODk5ERUVRUREBH369MHW1pYuXbowYcIEnbWsXr1a824Wa2trGjZsSIcOHZg9e7bOgCnN/PnzWbBgAbNnz+bWrVu4uLgwfvx4AgMDNdtfsWIF4eHhDBgwgFq1auHr68uKFSuwsrLCysqKgIAAFixYwLFjx0qcZO7RoweLFi1i6dKlrFixAnt7e55//nmCg4N1Hm76q1atWrFw4UK++OILoqOjMTMzo3379ixfvrzU36shbNmyBdD+XRd76aWXmD9/vuZy8eEllUpF/fr1+cc//sHUqVN56623dO5j0KBBuLi4sGbNGkaMGEFWVhb169fH39+fb7/9VuuVoa77lbu7O1OnTiUqKoqlS5fi5OREt27dCAwMZOfOnajV6jJvxyZNmrBmzRrmzp3LwIEDMTMz45lnnuHrr78ucf5IPJhKKetgpqjxFi1axPr16zl8+LCxSxHViNyvTIccehJCCKGTBIUQQgid5NCTEEIIneQVhRBCCJ0kKIQQQugkQSGEEEKnajuP4vbte6jVpnX6xcGhDjdv1pxvAKtp/YL0XFOYYs9mZirq169d6rpqGxRqtWJyQQGYZM36qGn9gvRcU1SnnuXQkxBCCJ0kKIQQQugkQSGEEEInCQohhBA6SVAIIYTQSYJCCCGEThIUQgghdJKgEEIIoZMEhRBCCJ0kKIQQQugkQSGEEEInCQohhBA6SVAIIYTQSYJCCCGEThIUQgghdJKgEEIIoZMEhRBCCJ0kKIQQQugkQSGEEEInCQohhBA6SVAIIYTQySBBUVBQwIwZM/D19cXX15eIiAjUanWpYzMzMwkJCcHb2xt/f3+ioqIeuN0JEyYwcOBAQ5QohBDiEVkYYiPz5s3j8OHDREZGkpWVxcSJE7G3t2f48OElxk6ZMoXU1FTWrFnD77//zuTJk2nYsCEvv/yy1rj9+/ezbds22rVrZ4gShRBCPCK9gyIvL49169Yxf/58PDw8AAgJCSEiIoJhw4ZhZvbni5arV6+yZ88eYmJicHV1xc3NjaSkJKKiorSC4s6dO0yfPp22bdvqW54QQgg96X3o6ezZs+Tk5ODj46NZ5uPjQ3p6OpcvX9Yae/LkSezt7XF1ddUae/r0afLy8jTLZs+eTc+ePfH09NS3PCGEEHrSOyhSUlKwtbXFzs5Os8zJyQmAGzdulBjbsGFDrWVOTk6o1WpSU1MB2LdvHydOnCA4OFjf0oQQQhiA3oeecnJysLS01FpWfDk/P/+hxt65c4ePPvqIiIgIbGxs9C1NCCGEAegdFNbW1iUCofjy3x/syxo7a9YsunXrhq+vr75l4eBQR+9tGIOTk13Zg6qRmtYvSM81RXXqWe+gaNSoEdnZ2dy7d4/atWsDkJaWBoCzs3OJscXriqWmpmJhYYGDgwMxMTFYW1sTExMDFL3ttrCwEC8vL2JjY2ncuHG567p5Mwu1WtGntUrn5GRHWlqmscuoNDWtX5CeawpT7NnMTPXAJ9h6B4Wbmxs2NjYkJCTQqVMnAI4dO4ajoyPNmjXTGuvp6UlGRgYXL16kefPmACQkJNCqVSusrKzYs2eP1vjIyEjOnz9PREREiXMbQgghKodBDj317t2bWbNmERYWRl5eHnPnzuXdd98FICMjA3Nzc+zs7HBxcaFr165MnjyZ6dOnc+XKFVasWMHs2bMBePzxx7W2bW9vj7W1dYnlQgghKo9BJtyFhoaSl5fHsGHDsLKyonfv3rz33nsAjBo1ChcXF8LCwgAICwtj2rRpBAQEULduXcaMGcNLL71kiDKEEEJUAJWiKKZ1IL+c5BxF1VfT+gXpuaYwxZ51naOQDwUUQgihkwSFEEIInSQohBBC6CRBIYQQQicJCiGEEDpJUAghhNBJgkIIIYROEhRCCCF0kqAQQgihkwSFqLaq6YcOCFHpJChEtbV69dfk5GQbuwwhTJ4Ehai2cnNzGTFiCHfuZBi7FCFMmgSFqLZ8fNpx6tRJhg4dSEpKirHLEcJkSVCIauuZZ57B2tqapKQLDB7cjz/++N3YJQlhkiQoRLVVq5YlHh5tAbh27SqDB/cnMfGMkasSwvRIUIhqzcenneb/t27dZOjQgfz881EjViSE6ZGgENWaj8+zWpfv3bvHBx+8x759/zFSRUKYHgkKUa21bt0Ga2trrWX5+fmMHz+arVs3GakqIUyLBIWo1iwtLfHw8Cqx3MLCgi++WMiPP+4zQlVCmBYLYxcgREXz8WnH0aPxWss+/3wJHTr4G6kiIUyLvKIQ1V7xCW1f3+ewsbEFIDx8NgUF+cYsSwiTIUEhqr3Wrdvg5OTEzJlhDB/+PgB//PE7q1d/Y+TKhDANEhSi2rO0tGTRokgaNnRmwIBBPP74EwBERn4hM7aFKAcJClEjuLk9DRRNwps4cSoAOTnZzJ//mTHLEsIkSFCIGqdDBz+6desBwK5dsRw79pORKxKiapOgEFXC7du3OXIkDrVaXSn7Gz9+ElZWVgCEhc2koKCgUvYrhCmSoBBVQv369dm7dxevv/4i0dFR3L17p0L317ixC0OHjgAgKekC3367rkL3J4Qpk6AQVca4cRMpKMhn7txwXnihM9OnT+HMmV8rbH/vvjuUJk2aArB06UJu3kyvsH0JYcoMEhQFBQXMmDEDX19ffH19iYiIeOAhhMzMTEJCQvD29sbf35+oqCit9UlJSQwdOhQfHx86d+5MWFgYubm5hihTVHF2dnZMnz4bKPrSoa1bN9GvX28GDnyH77/fSl5enkH3Z2VlRWjoZACysrJYsGCuQbcvRHVhPn369On6biQiIoKDBw+ycOFCunbtyuLFiyksLMTb27vE2NDQUG7cuMGiRYtwd3fnk08+oWnTpri6upKVlUVAQAAtWrQgLCyMDh06sHz5cq5du0bnzp0fqqacnHxM7SuTa9e2Iju75kwCK63fJk2acvPmTa1XEqmpKezf/x82blxPRkYGTZs2w97e3iA1PP74E5w+/SuXL//BuXOJPPdcRxo1eswg2y5NTbuNQXo2FSqVCltby1LX6f2KIi8vj3Xr1jFp0iQ8PDzo2LEjISEhfP311yVeVVy9epU9e/YwY8YM3Nzc6NWrF0OHDtW8qjhy5AiZmZnMmjWL5s2b0759e8aMGUNMTIy+ZQoTEhw8XnNI6K8yMjJYteorBg3qy4kTxw2yL5VKRWjoZGrVqgUUndguLCw0yLaFqC70DoqzZ8+Sk5ODj4+PZpmPjw/p6elcvnxZa+zJkyext7fH1dVVa+zp06fJy8vDw8ODJUuWYGn5Z6qpVCoKCgoq7d0wwvhsbWvz8cefoFKpSqzr3fsdYmP/g5dXW4Pt7/HHn2DQoCEAnD17hi1bvjPYtoWoDvQOipSUFGxtbbGzs9Msc3JyAuDGjRslxjZs2FBrmZOTE2q1mtTUVJydnfH19dWsKywsJDo6mrZt22JmJufdaxJv72fp129QieXbtm1mz56dBt/fsGEjcHZuBMCiRfPJyLht8H0IYar0/vTYnJwcrVcAgOZyfn7+I48FmDlzJomJiXz77bcPXZeDQ52Hvk5V4ORkV/agakRXvx9//G/i4w9x6dIlWrZsSVJSEgUFBUybNpnk5N+YMmUKFhaG+gBkOz7+eDpBQUHcuXOHFSu+ICwszEDb1lbTbmOQnk2d3n9l1tbWJR7kiy/b2Ng80tjCwkI+/vhjNm3axIIFC3Bzc3voum7ezEKtNq2z2U5OdqSlZRq7jEpTnn6nT/+EwMB+BAa+R4MGDkyYMJY7d+4QGRnJr7+eISxsLvb2dQ1Sj69vZ9q1a89PP/2X1atX89JLb/D0060Nsu1iNe02BunZVJiZqR74BFvv4zmNGjUiOzube/fuaZalpaUB4OzsXGJs8bpiqampWFhY4ODgABS91TY4OJgtW7awcOFCnn/+eX1LFCbM3d2TQYOG4O7uia/vc6xe/R3Nmz8FwJEjcQwY8Da//XbJIPtSqVRMnDgVCwsLFEXh009nyLkxITBAULi5uWFjY0NCQoJm2bFjx3B0dKRZs2ZaYz09PcnIyODixYuaZQkJCbRq1UrzcQpTpkzhwIEDLFu2jO7du+tbnqgGPvhgNI0buwDQtGkzvvlmHV26dAPg8uU/GDjwbQ4dOmCQfTVv3oKAgAEAnDr1P77/fqtBtiuEKdM7KKytrenduzezZs3i+PHjxMfHM3fuXN59912g6C2NmZlFL8FcXFzo2rUrkydP5syZM+zevZsVK1YwePBgAPbv38+2bdsIDQ3F1dWVtLQ0zY9iapMihMHUqmWp9Q6o2rXrMG/eYoYNCwKKJsuNHh1EVNRXBrmfjBgxEkfHojdkLFgwl7t37+q9TSFMmUoxwF9WXl4es2bNIjY2FisrK3r37s24ceNQqVQMHDgQFxcXzYnBjIwMpk2bxoEDB6hbty5DhgwhMDAQgAkTJrBt27ZS93H8+HFq165d7prkHEXVZ4h+d+/ewUcffaiZvf/SS68ybdpMrK2t9dpubGwMU6ZMAKBfv0FMmPChXtsrVtNuY5CeTYWucxQGCYqqSIKi6jNUv2fPniY4eCQ3blwHoFWrZ5g/f0mJc2QPQ1EUhgwZwIkTCZibm7N+/Waeeqql3rXWtNsYpGdTUaEns4Uwtqefbs2aNd/h6Vk0Ce/MmV/p3783p06dfORtFp/YNjMzo7CwkLCwWXL4U9RYEhSiWnBwcCQychVvvtkbgPT0NIYOHUhMzJZH3qab29P06dMXgISEn9m9e4dBahXC1EhQiGrD0tKSadNmMnHiFMzNzTWT8+bODeP+/fuPtM333x9N/fr1AZg7N5zs7HtlXEOI6keCQlQrKpWKgICBfPHFV9StWzQRLzp6FaNGjXikL0OqW7ceo0aNAyAtLZXly5cZtF4hTIEEhaiW/j45Lz7+MAMGvM2lSxfLuGZJb7zxT1q3bgMUhc7vvxtmgp8QpkKCQlRbpU3OGzTonYeenGdmZsakSf8G4P79AsLDZ8uJbVGjSFCIaq14ct577/0LePTJeW3auGtOlMfHH2b//v9USL1CVEUSFKLaMzMz44MPxhAePh9ra2sURWHBggimTJnwUF+zO2rUOOzsir5Zb86cT8nJyamokoWoUiQoRI3Rs+eLrFq1VvNVpzt2fM+QIQNISUkp1/UbNGjABx+MAeD69WtERS2vsFqFqEokKESN4ubWSq/Jeb17v4Ora9HH3q9a9RXJyVcqrFYhqgoJClHjODg4snz5Kt58sw/wcJPzLCwsmDy56MR2fn4+ERGfVmitQlQFEhSiRqpVy5Jp02YwadLUh56c5+XlzcsvvwbAjz/uM9hHnAtRVUlQiBpLpVLRt+8Ali5d8dCT88aOHY+trS0An332Salf5StEdSFBIWq8du3as2bNxoeanOfk1JCgoJEAXLnyB9HRUZVSqxDGIEEhBNCkSdP/n5xX9K2K5ZmcFxAwkCefbA7A8uXLNB9zLkR1I0EhxP8rmpy3qJTJectLnZxXq1YtJkyYAkBubg7z5n1WqfUKUVkkKIT4i+LJeZ999vlfJufN5cMPQ0udnNe+fQeef74nAHv27OTo0fjKLlmICidBIUQpXnihl9bkvJ07t///5LwbJcaGhEzUfPVqePgsCgoKKrVWISqaBIUQD+Dm1oq1azfi5eUNFE/O61Nict5jjzVm6NAgAC5dusj69asrvVYhKpIEhRA6NGjgQGRkFG+9pT05b9u2zVrjBg0aTNOmzQBYtmwxaWmplV6rEBXFfPr06dONXURFyMnJx9Q+Cbp2bSuys2vO+/FNpV9zc3M6depK/foNiI8/zP379/nxxx/IysqkXbvnMDMzw8LCgqZNm7Fz53YKCgq4ffsW3br1KLEtU+nZkKRn06BSqbC1tSx1nbyiEKIciibn9deanLd69ddak/P8/TvTuXNXALZv38aJEwlGq1cIQ5KgEOIhFE/Oa9Gi9Ml548dPxtKy6FnZp5/OpLCw0Gi1CmEoEhRCPKQmTZry9delT85r2rQZgYHDADh/PpGNGzcYs1QhDEKCQohHoGtyXmDgMB57rDEAixd/zq1bt4xZqhB6k6AQ4hE9aHLezJnTGDNmHACZmXdZvHi+kSsVQj8SFELoqbTJed98s0oz/2LLlo38+usvxixRCL0YJCgKCgqYMWMGvr6++Pr6EhERgVqtLnVsZmYmISEheHt74+/vT1RU1EOtF6IqKm1y3u+/X8Lc3BxFUfj00xkP/JsQoqozyDyKiIgIDh48yMKFC+natSuLFy+msLAQb2/vEmNDQ0O5ceMGixYtwt3dnU8++YSmTZvi6uparvXlJfMoqr7q1q+NjS0vv/wqN2+mc/bsGXJzc1GpVCiKQlpaKo0aPYa3t1e16rk058+f4+uvV2BmZo6zszN2drbVvue/M8X7tq55FCqltI/FfAh5eXn4+voyf/58unYteg/5li1biIiI4NChQ5iZ/fmi5erVq3Tv3p2YmBjNA//ixYv58ccf2bhxY5nrH8bNm1mo1aaVFE5OdqSlZRq7jEpTXftVFIUNG9YyZ84nWm+PrVevHocPH6agwNyI1VU8RVEYOPAdfv31FLa2tnTq1Ilnn+2An18nnJ0bGbu8SmGK920zMxUODnVKXWeh78bPnj1LTk4OPj4+mmU+Pj6kp6dz+fJlnnjiCc3ykydPYm9vr/XqwMfHhyVLlpCXl1fmeisrK33LFaLCFU/Oe/LJ5oSGjuHOnaIJeem4EGkAAByASURBVBkZGcyePZsJE6ZVaj2KolBYWIiiqCksVKNWF2r9W7S8ELX6z3/V6kLUakXr8p//V2uN/eu/xfto08aDX389RXZ2Nrt27WLXrl0APPWUK35+nfHz64S7uye1atWq1N+FeDR6B0VKSgq2trbY2dlpljk5OQFw48YNraBISUmhYcOGWtd3cnJCrVaTmppa5vqmTZvqW64QlaZ4ct7Yse+TlHQBgLVr15KYeI7atev87YG59AffPx+0//6ArPxt7J8P/mq1onUdPQ8aGNSFC+e5cOE8UVHLqVOnDu3bd6RHj5706NFL6+iDqFr0DoqcnBzNTNRixZf//j3CZY19mG0JUZVlZWVx9OgRDh06wO3bf86jsLKy4vhx+WiPevXq0alTV7p2fZ727TtISFRxegeFtbV1iQfx4ss2NjYPNfZhtlWWBx1rq+qcnOzKHlSNVJd+FUUhKSmJH374gR9++IGffvqJ+/fvlxiXl5cHQNOmTalXrx7m5uaYmZlp/i3+f/HPg9b9/f8PWqdSqUpdrmtdefdVWq3Fy/bv389nn2l/41/Tpk3p2bMnvXr14tlnn8XCQu+Hnyqtuty3wQBB0ahRI7Kzs7l37x61a9cGIC0tDQBnZ+cSY4vXFUtNTcXCwgIHB4cy1z8MOZld9Zl6vzk5ORw79hNxcQc4dOgA165dLTHGysoKHx9f/P070aaNByNGDCYrK4tatSyJilpXLR8sFUVh+/ZYAFq2fJpXXnmJdu38cXVtiUqlAuD27RxjlljhTPG+XaEns93c3LCxsSEhIYFOnToBcOzYMRwdHWnWrJnWWE9PTzIyMrh48SLNmxd9KX1CQgKtWrXCysqqzPVCVKT8/PwShz7/7urVZA4dOkBc3EF+/vm/mlcIf/XYY43x9++Cn18nnn3WV+vV8MiRIwkLC+PSpYts3bqJ3r3fMXgfxnbt2lVefvl15sxZgItLE5N80BTa9H57LMCsWbM4ePAgYWFh5OXlERoayqBBgxg+fDgZGRmYm5trTnYHBQVx69Ytpk+fzpUrV5g0aRKzZ8/mpZdeKtf68pJXFFVfVelXrVazadO3XL2azNix47XWFRTkc+LEcc2rht9+u1Ti+hYWFnh6tsXfvzN+fp158snmmmfOf1enjgUdO/qRknIDBwdHYmJ2Ubu2aR4mLa+qcjtXJlPsWdcrCoMERV5eHrNmzSI2NhYrKyt69+7NuHHjUKlUDBw4EBcXF8LCwoCitwhOmzaNAwcOULduXYYMGUJgYKBmW2WtLy8JiqqvKvT7xx+/MWPGv0lIOMaHH37E228HkJqawuHDh4iLO8B//3uEe/fulbieo6MTHTv64+/fGV/fDlrv+tPFycmOlSuj+fe/JwEwfPj7vP/+aIP2VNVUhdu5splizxUeFFWRBEXVZ8x+CwoKiI6OYtmyxZo3TDz//AskJyeTmHimxHiVSkWbNu6aQ0otWz79SO/UcXKyIyXlDgEB/+TcubNYW1uzbdvuEufzqpOadr8G0+y5Qs9RCGFqEhPPMH361BKB8J//7NG6bG9flw4d/PD370KHDn7Ur1/fIPs3MzMjJGQiw4cHkpuby9KlC5k+fbZBti1ERZCgEDVGbm4ukZFL+PrrlQ/85rmWLZ/Gz68T/v6deeYZ9wp7V1K7du3x8+tMXNwBtm3bTL9+g3B1bVkh+xJCXzLLRdQIx48f45133mDlyuU6v560T5++jBoVjKdn2wp/6+rYseMxMzNDURQ+/3xOhe5LCH1IUIhqLT8/n8WLP2fMmPdJS0vF2toGS0tLLCxqaSad/dXs2dPZu3dXpdTWosVTvPlmbwCOHInjyJFDlbJfIR6WnMyuQkzxBJg+qkq/iqJofd4SUGHzdv7ec3p6Gq++2pOcnGyeesqV9eu3YG5evT5dtqrczpXJFHvWdTJbXlGIGq/4oyxq1aqFlZVVpU7udHR0IjBwKFD0gXnff7+10vYtRHlJUAhhZIMGDdZ84vKSJQvIyck2ckVCaJOgEMLIbGxsef/9MQCkpaWyevXXRq5ICG0SFEJUAa+99iYtWjwFwMqVy0lPTyvjGkJUHgkKIaoAc3NzgoMnAJCTk82yZYuNXJEQf5KgEKKK6NDBj/btOwCwZctGLl5MMnJFQhSRoBCiilCpVAQHT0ClUlFYWMiCBRHGLkkIQIJCiCqlZUs3Xn31DQAOHvyRn3/+r5ErEkKCQogq54MPxmBtbQ3AvHmfaSYBCmEsEhRCVDHOzo0YOHAwAGfPnmHnzu1GrkjUdBIUQlRBgYFDadCg6HviFy2aT25urpErEjWZBIUQVVDt2nX4179GAXDjxnXWrYs2ckWiJpOgEKKKevPN3vzjH08CsGLFl9y6dcvIFYmaSoJCiCrKwsKCsWPHA5CVlUVk5BIjVyRqKgkKIaqwTp264uPTDoCNGzfwxx+/GbkiURNJUAhRhalUKsaNK/poj/v377NgwTwjVyRqIgkKIaq4Vq2e4aWXXgVg3769HD9+zMgViZpGgkIIEzBy5FgsLS2Bokl41fSLKUUVJUEhhAlo3NiF/v3fBeDXX0+xZ89OI1ckahIJCiFMxJAhw6lXrx4ACxbMJT8/38gViZpCgkIIE2FnZ8eIER8AcO3aVTZsWGPkikRNIUEhhAnp3fsdmjV7HIDIyKXcuZNh5IpETSBBIYQJqVXLkjFjQgDIzLzL8uVLjVyRqAkMEhR79+6lV69eeHh4EBgYyJUrV3SOX79+PV27dsXT05PRo0drfTRBXl4en332GV26dMHb25vBgwdz4cIFQ5QpRLXQrVsPPD3bArB+/VqSk3X/vQmhL72D4syZM4SEhBAYGMjGjRuxs7MjKCiIwsLCUsfv27eP8PBwJk6cyLp160hPTyc0NFSzfu7cuezevZtPP/2U7777DkdHR4YMGUJWVpa+pQpRLahUKkJCJgJw/34BCxfKJDxRsfQOiujoaLp06ULfvn156qmnCA8P59q1a8TFxZU6ftWqVfTt25devXrx9NNPM2fOHOLi4khKSkKtVrN582bGjRvHc889x5NPPsns2bPJzMzkv/+Vb/oSolibNh688MKLAOzZs5NTp04auSJRnekdFCdOnMDHx0dz2dbWltatW3P8+PESY9VqNadOndIa7+LiQuPGjTl+/DhqtZoFCxbQsWPHPws0KyoxLy9P31KFqFZGjx6HhUUtQCbhiYqld1CkpKTQsGFDrWWOjo7cuHGjxNg7d+6Qk5PzwPEWFhZ07NhR815xgA0bNpCfn4+Xl5e+pQpRrTRp0pSAgP4AnDx5nH379hq5IlFdWZQ14OjRowwaNKjUdUFBQeTm5mo+WqCYpaVlqZOBir+lq7zjf/rpJ8LDwxk2bBiNGzcuq1QtDg51Hmp8VeHkZGfsEipVTesXDNvzxInjiYnZwp07d1i0aB5vvfVqib+vqkBuZ9NWZlC4u7uzY8eOUtfVr1+fb775psSDfH5+PjY2NiXGW1lZadb/fXzxl8kXO3jwIKNHj6Z79+6MHTu2rDJLuHkzC7XatF6KOznZkZaWaewyKk1N6xcqomcLhg0LYu7ccH7//XeWLfuKgICBBty+/uR2Ng1mZqoHPsEu89CTjY0NzZs3L/WnQYMGODs7k56ernWdtLQ0nJ2dS2yrfv36WFtblzl+x44dvP/++/To0YOIiAjNeQohREnvvNMfF5cmAHz55RLu3r1r5IpEdaP3I7CXlxcJCQmay9nZ2Zw5c6bUcwoqlQp3d3et8VevXuX69eu0bVv0vvC4uDhCQ0N58803CQ8Px9zcXN8ShajWLC0tGT16HAAZGRlERS03ckWiutE7KPr168fevXtZvXo1Fy5cYNKkSbi4uODv7w8UnZdIS0vTjB84cCCrV68mNjaWxMREQkND8ff3p3nz5uTn5zN58mS8vLwYNWoUN2/eJC0tjbS0NHJycvQtVYhq64UXXqRNGw8A1qz5mmvXrhq5IlGd6B0Ubdq0ITw8nKioKPr06UNmZiZLly7VHC7asWMHfn5+mvEvvPACwcHBfPrppwQEBODo6MicOXMASEhIIDU1lZ9//hl/f3/8/Pw0P5s2bdK3VCGqrb9+E15+fj6LF39u5IpEdaJSqumbr+VkdtVX0/qFiu953LhRmrfJrl27kVatnqmwfZWX3M6mQa+T2UII0zFmzDgsLIrezCiT8IShSFAIUY08/vg/6N37HQCOHfuJgwf3G7kiUR1IUAhRzQwf/gF16hQdQvj88wju379v5IqEqZOgEKKaadCgAUOHjgDgt98usWXLRiNXJEydBIUQ1VBAwEAaNXoMgKVLF3HvnnxMv3h0EhRCVEPW1taMGhUMwK1bN1m1aoWRKxKmTIJCiGrqxRdf4emnWwEQHR1FSkrJT3QWojwkKISopszMzDST8HJzc1myZIGRKxKmSoJCiGrs2Wfb06lTFwC+/34r584lGrcgYZIkKISo5saODcXc3BxFUWQSnngkEhRCVHNPPtmcN9/sDcDRo0c4cqT077MX4kEkKISoAYKCRmJrawvA/PmfUVhYaOSKhCmRoBCiBnB0dGLw4PcASEq6QEzMFiNXJEyJBIUQNcSAAYE4OTUE4IsvFpCTk23kioSpkKAQooawsbHhgw/GAEVfP/zNN1FGrkiYCgkKIWqQV199A1fXlgCsWrWC9PS0Mq4hhASFEDWKubk5Y8eGApCTk83SpYuMXJEwBRIUQtQwHTr40aFD0dcTb9mykaSkC0auSFR1EhRC1EDBwaGYmZmhVqv5/PMIY5cjqjgJCiFqoKeeaslrr70JQFzcAY4ejTdyRaIqk6AQoob6179GY21tAxR9v7ZarTZyRaKqkqAQooZydnZm0KDBAJw7d5bY2BgjVySqKgkKIWqwwMChODg4ArB48efk5uYauSJRFUlQCFGD2drW5l//GgVASsoN1qz52sgViapIgkKIGu6NN/7Jk0+2AGDlykhu3bpp5IpEVSNBIUQNZ2Fhwdix4wG4d+8eX365xMgViapGgkIIgb9/Z9q1aw/Axo0b+P33S0auSFQlBgmKvXv30qtXLzw8PAgMDOTKlSs6x69fv56uXbvi6enJ6NGjuXXrVqnj4uPjcXNzIzk52RBlCiEeQKVSMW7cBFQqFYWFhXz++VxjlySqEL2D4syZM4SEhBAYGMjGjRuxs7MjKCjogV+Msm/fPsLDw5k4cSLr1q0jPT2d0NDQEuPu3bvHlClT5Gsbhagkbm6tePnl1wD48ccfSEj42cgViapC76CIjo6mS5cu9O3bl6eeeorw8HCuXbtGXFzpX7e4atUq+vbtS69evXj66aeZM2cOcXFxJCUlaY377LPPaNy4sb7lCSEewgcfjMHKygqQSXjiT3oHxYkTJ/Dx8dFctrW1pXXr1hw/frzEWLVazalTp7TGu7i40LhxY63x8fHxHDp0iJCQEH3LE0I8hMcea0z//oMAOH36F3bv3mHkikRVoHdQpKSk0LBhQ61ljo6O3Lhxo8TYO3fukJOTo3N88SGn6dOnU7t2bX3LE0I8pMGDh1O/fn0AFi6cR15enpErEsZWZlAcPXqUli1blvozf/58cnNzsbS01LqOpaUl+fn5JbZVPOtT1/jw8HB8fX3p1KnTIzclhHh0dnZ2jBgxEoDr16+xfv1qI1ckjM2irAHu7u7s2FH6y8/69evzzTfflAiF/Px8bGxsSowvPvZZ2nhra2vi4+PZv38/sbGx5W7gQRwc6ui9DWNwcrIzdgmVqqb1C6bRc1DQUL79dg2XLl1i5cpIhgwZRIMGDR55e6bQs6FVp57LDAobGxuaN2/+wPXOzs6kp6drLUtLS+PZZ58tMbZ+/fpYW1uXOt7Z2ZmYmBhu3bpF586dATQn0l555RWCgoIICgoqu6P/d/NmFmq1ab1jysnJjrS0TGOXUWlqWr9gWj2PHDmOceNGcufOHcLCIggNnfxI2zGlng3FFHs2M1M98Am23ucovLy8SEhI0FzOzs7mzJkzeHl5lRirUqlwd3fXGn/16lWuX79O27ZtGT9+PDt27GDr1q1s3bqVhQsXAhAZGUnfvn31LVUI8RC6du1O27ZFbzzZsGEtV65cNnJFwlj0Dop+/fqxd+9eVq9ezYULF5g0aRIuLi74+/sDRecl0tL+/AL3gQMHsnr1amJjY0lMTCQ0NBR/f3+aN2+Og4MDjz/+uObnscceA6Bx48bUq1dP31KFEA9BpVIRHDwBgPv3C1i4cJ6RKxLGondQtGnThvDwcKKioujTpw+ZmZksXboUM7OiTe/YsQM/Pz/N+BdeeIHg4GA+/fRTAgICcHR0ZM6cOfqWIYSoAG3auNOr10sA7N27i//974SRKxLGoFKq6dRnOUdR9dW0fsE0e756NZk33niRgoIC3N09+frrdahUqnJf3xR71pcp9lyh5yiEENWbi0sTAgIGAHDq1El++GEPADk5OaSklJwvJaofCQohRJmGDQvC3r4uAAsWzKWgIJ+FC+cRF3fQyJWJyiBBIYQok719XYYPfx+AK1cuM3XqJNati+bXX08ZuTJRGSQohBDl8vbbAbi4NAHQfAbUqVP/M2ZJopKUOeFOCFGzpaenMWLEEC5dSirxsf+XLiWRlZVFnTqm+UkIonzkFYUQQidHRycWLVpG48YuJdYpisLp078YoSpRmSQohBBlatzYhZUrV9Os2eMl1snhp+pPgkIIUS7Ozo346qtv+Mc/ntRa/ssvJ41UkagsEhRCiHJr2NCZr776hubNn9Is++WXU/KVxdWcBIUQ4qE4ODiyfPnXuLq6AXD79i2uXk02clWiIklQCCEeWoMGDVi+fBWtWrUGimZsi+pLgkII8Ujq1q3HsmVRtGnjwS+/yMS76kyCQgjxyOzt7Vm6dAXm5vJQUp3JrSuE0EudOnUYPTrE2GWICiRBIYTQm6WlpbFLEBVIgkIIIYROEhRCCCF0kqAQQgihkwSFEEIInSQohBBC6CRBIYQQQicJCiGEEDpV22+4MzNTGbuER2KqdT+qmtYvSM81han1rKtelSKfDyyEEEIHOfQkhBBCJwkKIYQQOklQCCGE0EmCQgghhE4SFEIIIXSSoBBCCKGTBIUQQgidJCiEEELoJEEhhBBCJwmKSrJ371569eqFh4cHgYGBXLlyRef49evX07VrVzw9PRk9ejS3bt0qdVx8fDxubm4kJydXRNl6MWTPeXl5fPbZZ3Tp0gVvb28GDx7MhQsXKrqFMhUUFDBjxgx8fX3x9fUlIiICtVpd6tjMzExCQkLw9vbG39+fqKioh1pfVRiy56SkJIYOHYqPjw+dO3cmLCyM3NzcymjjoRiy57+aMGECAwcOrKiyDUcRFe706dNKmzZtlHXr1innz59XRo4cqbz00kvK/fv3Sx3/ww8/KJ6ensrOnTuVM2fOKAEBAcqQIUNKjMvKylK6du2quLq6KleuXKnoNh6KoXuePXu20q1bN+XIkSPKxYsXlfHjxyt+fn5KZmZmZbVUqrCwMOWFF15QTp48qcTFxSkdO3ZUvvzyy1LHjho1SnnnnXeUs2fPKjt37lQ8PT2V7du3l3t9VWGonjMzM5UuXboooaGhSlJSkhIfH69069ZNmTFjRmW2Uy6GvJ2L7du3T3F1dVUGDBhQ0eXrTYKiEkyaNEkZNWqU5vK9e/cUT09P5ccffyx1/MCBA5WwsDDN5eTkZMXV1VW5cOGC1rhp06Yp/fv3r5JBYcieCwsLFW9vb60/try8PMXDw0PZu3dvxTVRhtzcXMXDw0PZt2+fZtnmzZuVDh06KIWFhVpjk5OTlZYtWyrnzp3TLFu0aJHyz3/+s1zrqwpD9rx7927F29tbycvL06zftm2b4uPjU8FdPBxD9lwsIyND6dSpk9K3b1+TCAo59FQJTpw4gY+Pj+ayra0trVu35vjx4yXGqtVqTp06pTXexcWFxo0ba42Pj4/n0KFDhISEVGzxj8iQPavVahYsWEDHjh01683Miu66eXl5FdiFbmfPniUnJ0erbh8fH9LT07l8+bLW2JMnT2Jvb4+rq6vW2NOnT5OXl1fm+qrCkD17eHiwZMkSLC0tNetVKhUFBQUPPKxjDIbsudjs2bPp2bMnnp6eFd+AAUhQVIKUlBQaNmyotczR0ZEbN26UGHvnzh1ycnJ0jr937x5Tpkxh+vTp1K5du+IK14Mhe7awsKBjx47Uq1dPs27Dhg3k5+fj5eVVMQ2UQ0pKCra2ttjZ2WmWOTk5AZTos7Tfh5OTE2q1mtTU1DLXVxWG7NnZ2RlfX1/NusLCQqKjo2nbtq3miUBVYMieAfbt28eJEycIDg6u4MoNp9p+H0VlOnr0KIMGDSp1XVBQELm5uVrPmgAsLS3Jz88vMb74RJ6u8eHh4fj6+tKpUyfOnz9viBYeWmX3/Fc//fQT4eHhDBs2jMaNGz9qC3rLyckptWagRN1ljX2YbRmTIXv+u5kzZ5KYmMi3335ryJL1Zsie79y5w0cffURERAQ2NjYVWLVhSVAYgLu7Ozt27Ch1Xf369fnmm29K3KHy8/NLvaNYWVlp1v99vLW1NfHx8ezfv5/Y2FgDVf9oKrPnvzp48CCjR4+me/fujB07Vp8W9GZtbV1qzUCJPssa+zDbMiZD9lyssLCQjz/+mE2bNrFgwQLc3NwqovRHZsieZ82aRbdu3bReSZkCCQoDsLGxoXnz5g9c7+zsTHp6utaytLQ0nn322RJj69evj7W1danjnZ2diYmJ4datW3Tu3BlAcyz3lVdeISgoiKCgIH3bKZfK7LnYjh07mDBhAi+++CJhYWFGPzzRqFEjsrOzuXfvnuYQYFpaGoBW3cVji9cVS01NxcLCAgcHhzLXVxWG7BmK3nYaEhLC/v37WbhwId27d6+ELh6OIXuOiYnB2tqamJgYoKj/wsJCvLy8iI2NNeorZF2qzoHAaszLy4uEhATN5ezsbM6cOVPq8XWVSoW7u7vW+KtXr3L9+nXatm3L+PHj2bFjB1u3bmXr1q0sXLgQgMjISPr27VvxzZSTIXsGiIuLIzQ0lDfffJPw8HDMzc0rvokyuLm5YWNjo1X3sWPHcHR0pFmzZlpjPT09ycjI4OLFi5plCQkJtGrVCisrqzLXVxWG7BlgypQpHDhwgGXLllXJkADD9rxnzx5iYmI0f7+vv/46zzzzDFu3bi1xbqNKMfbbrmqCU6dOKa1bt1aio6OV8+fPK6NGjVJefvllzVvrcnJylNTUVM343bt3Kx4eHsr27duVs2fPKgEBAcrQoUNL3fa5c+eq5NtjDdlzXl6e4ufnp/Tv319JSUlRUlNTNT/Z2dlG6a/YzJkzlR49eigJCQnKkSNHtN5ff/v2beXu3buasSNGjFD69OmjnD59Wtm1a5fi6empxMbGlnt9VWGonovnEURHR2vdpqmpqYparTZKbw9iyNv5r8LCwkzi7bESFJVk+/btSrdu3RQPDw8lMDBQuXz5smbdpk2bFFdXV63xq1atUjp27Kh4enoqo0aNUm7dulXqdqtqUCiK4Xo+cuSI4urqWupPdHR0pfb0d7m5ucrUqVMVLy8vpX379kpERITmQW7AgAHKxIkTNWNv376tjBo1SnF3d1f8/f2VqKgorW2Vtb6qMFTPoaGhD7xds7KyKrstnQx5O/+VqQSFSlEUxdivaoQQQlRdco5CCCGEThIUQgghdJKgEEIIoZMEhRBCCJ0kKIQQQugkQSGEEEInCQohhBA6SVAIIYTQSYJCCCGETv8HxP/GV8DF36MAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.quiver(np.zeros(5),\n",
    "           np.zeros(5),\n",
    "           categories_2d.PC1.values,\n",
    "           categories_2d.PC2.values,\n",
    "           scale=.035)\n",
    "plt.title('Topic Directions in 2D Space');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Strenghts & Weaknesses"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The benefits of LSI include the removal of noise and mitigation of the curse of dimensionality, while also capturing some semantics and performing a clustering of both documents and terms.\n",
    "\n",
    "However, the results of LSI are difficult to interpret because topics are word vectors with both positive and negative entries. In addition, there is no underlying model that would permit the evaluation of fit and provide guidance when selecting the number of dimensions or topics."
   ]
  }
 ],
 "metadata": {
  "celltoolbar": "Slideshow",
  "hide_input": false,
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.7"
  },
  "name": "_merged",
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": true,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {
    "height": "131.151px",
    "left": "1219px",
    "right": "1064px",
    "top": "29px",
    "width": "265px"
   },
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
